1. Technical Field
This invention relates to the field of computer resource management, and in particular to a system that manages requests for access to a resource in a processing system.
2. Related Art
Computers, embedded controllers, and other processing systems may include various resources that only respond to a finite number of concurrent requests by resource consumers of the system. Consuming a resource subjects the system to a cost or penalty. The cost penalty may make the resource unavailable to other consumers because it has limited throughput, consume more power, increase system noise or vibration, or incur a cost by using network services. Such cost-constrained resources may include optical storage drives, magnetic storage drives, video controllers, interface controllers, network interface controllers and similar resources. A resource may be cost-constrained in that it may be unable to adequately respond to all the concurrent requests that may occur in the system without degraded performance of the resource and/or system.
A processing system may have various cost-constrained resources such as network interfaces where there is a computational cost imposed on the system to use them. The cost-constrained resource may include an optical media drive, such as a DVD player. The DVD player may have an optical reading head used to read a limited number of data streams, such as a single data stream. The optical media drive may seek the location on the storage media holding requested data in response to a read request. The optical media drive may move the optical head and manipulate the rotating media to the correct location before it starts reading the requested data, all of which requires time. The manner in which these requests are managed may determine how much time is spent reading and how much time is spent searching, which has an impact on the operation and efficiency of the processing system.
Management of the resource requests may also have an impact on the user experience. If the optical media drive spends more time moving the optical head than reading data, then software processes reading from the optical media drive may not receive the requested data in a timely manner. This may result in a system performance degradation that is perceivable by the user. Degradation may be noticeable when the user tries to view a continuous media presentation or rely on similar real-time interaction with the system. Such degradation may result in poor presentation quality (e.g., jittering, pauses, delays and similar erratic behavior).